package com.jiangli.service;

import com.jiangli.entity.Dish;
import com.jiangli.result.PageResult;
import com.jiangli.result.Result;
import com.jiangli.vo.DishBriefVO;
import com.jiangli.vo.DishRatingVO;
import com.jiangli.vo.DishVO;

import java.util.List;


public interface DishService {


    PageResult getDishList(Integer page, Integer pageSize);

    PageResult getRecommendedDishByPage(Long userId, Integer page, Integer pageSize, boolean reset);

    List<Dish> getDishesFromCacheOrDB(List<Long> ids);

    DishBriefVO getDishRandom(Integer mealType, Integer count);

    DishVO getDishDetailById(Long id);


    boolean rateDish(Long userId, Long dishId, Double score);

    PageResult getRank(Integer page, Integer pageSize, boolean reset);

    DishRatingVO getUserRating(Long userId, Long dishId);

    PageResult getCalorieRank(Integer page, Integer pageSize, boolean reset);

}
